Method and system for controlling printer color

ABSTRACT

A method for controlling printer color is provided. The method includes receiving cartridge color density data, such as from analysis of a test patch printed by the cartridge, and reference cartridge data, such as from analysis of a test patch printed and measured in accordance with a color standard. The color density data of the cartridge test patch is then mapped to the color density data of the reference cartridge test patch to generate mapped color density data, such as a look-up table that provides a dot activation for the cartridge that generates the same color density for a known dot activation for the reference cartridge. The mapped color density data is then used to control color density for printing a set of image data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to co-pending and commonly owned applicationSer. No. 09/822,094, filed Mar. 30, 2001, entitled “Automatic PrinterColor Correction Based on Characterization Data of a Color InkCartridge,” and to “Method and System for Characterizing Printer Color,”which are both hereby incorporated by reference in their entirety.

STATEMENTS REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable.

REFERENCE TO A MICROFICHE APPENDIX

Not applicable.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to printer color control andmore particularly to printer color control based on characterizationdata of an ink cartridge and a reference ink cartridge.

2. Description of the Related Art

To generate a printer profile, the printer manufacturer begins byprinting a color test chart with the color ink jet printer model ofinterest. The color test chart, which carries the characteristics of thecolor ink jet printer on which it is printed, generally contains colorpatches for each shade of the colors of interest. A color measurementdevice such as a spectrophotometer or a calorimeter measures thespectral distribution or intensity of each color patch on the color testchart and the data is provided to a computer system of the printermanufacturer.

Color analysis software on the computer system analyzes the color databy comparing the color data for each patch of the color test chart tothe corresponding standard color data such as defined by CIE (CommissionInternational de l'Eclairage or International Commission onIllumination) color standards. A printer profile is then built based onthis analysis to compensate or correct for the differences between thetest color data and the standard color data. Based on the coloranalysis, a transformation matrix or a multidimensional look-up table ofthe printer profile can convert any standard color data to output colordata for the color ink jet printer. The printer profile may furtherinclude a linearization table to linearize the standard color databefore and after the matrix transformation.

A printer profile takes parameters into account such as printingprocess, ink types and rendering intention (e.g., perceptual, relativecolorimetric, saturation or absolute calorimetric). The standard formatfor printer profiles as well as other types of device color profiles isdescribed in the International Color Consortium (ICC) Specification ICC.1:2001-12. In general, when a user selects to print an image, printer orimaging software on the computer system retrieves the printer profilefrom the color management system for the color ink jet printer andperforms printer color correction for the image based on the profile.

The above approach to printer color correction does not take intoaccount that an original color ink cartridge in a color ink jet printerwill later be replaced by a new color ink cartridge, which itself can bereplaced. Once a replacement color ink cartridge is used in the colorink jet printer, the printer profile generated with test color data whenthe color ink jet printer included the original color ink cartridge maynot render consistent or perceptually uniform color for the color inkjet printer. A generic printer profile thus has been unreliable inrendering consistent color once the color ink jet printer includes areplacement color ink cartridge, with the result that images printedwith replacement ink cartridges frequently do not appear the same asidentical images that were previously printed using that printer.

SUMMARY OF THE INVENTION

In accordance with the present invention, a system and method forcontrolling printer color are provided that overcome known problems withcontrolling printer color.

In particular, a system and method for controlling printer color aredisclosed that use reference ink cartridge data and specimen inkcartridge data to generate dot percent data that accurately reproducescolor density levels in accordance with standards.

In accordance with an exemplary embodiment of the present invention, amethod for controlling printer color is provided. The method includesreceiving cartridge color density data, such as from analysis of a testpatch printed by the cartridge, and reference ink cartridge data, suchas from analysis of a test patch printed and measured in accordance witha color standard. The color density data of the cartridge test patch isthen mapped to the color density data of the reference ink cartridgetest patch to generate mapped color density data, such as a look-uptable that provides a dot activation for the cartridge that generatesthe same color density for a known dot activation for the reference inkcartridge. The mapped color density data is then used to control colordensity for printing a set of image data.

The present invention provides many important technical advantages. Oneimportant technical advantage is a method for controlling color thatmaps specimen ink cartridge color density data for a given printer dotpercentage activation to a reference ink cartridge color density, so asto allow accurate color densities to be generated.

Those skilled in the art will further appreciate the advantages andsuperior features of the invention together with other important aspectsthereof on reading the detailed description that follows in conjunctionwith the drawings.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

A better understanding of the present invention can be obtained when thefollowing detailed description of the preferred embodiment is consideredin conjunction with the following drawings, in which:

FIG. 1 is a diagram of a system for providing color characterization andcolor control in accordance with an exemplary embodiment of the presentinvention;

FIG. 2 is a diagram of a system for providing camera calibration inaccordance with an exemplary embodiment of the present invention;

FIG. 3 is diagram of a system for performing color indexing inaccordance with an exemplary embodiment of the present invention;

FIG. 4 is a diagram of a system for index interfacing in accordance withan exemplary embodiment of the present invention;

FIG. 5 is a diagram of a system for controlling a color cartridge inaccordance with an exemplary embodiment of the present invention;

FIG. 6 is a flow chart of a method for performing color characterizationand control in accordance with an exemplary embodiment of the presentinvention;

FIG. 7 is a flow chart of a method for calibrating a camera inaccordance with an exemplary embodiment of the present invention;

FIG. 8 is a flow chart of a method for processing test image data of atest target in accordance with an exemplary embodiment of the presentinvention;

FIG. 9 is a flow chart of a method for generating printer control datain accordance with an exemplary embodiment of the present invention;

FIG. 10 is a diagram of an exemplary pixel color density variationcorrection process in accordance with an exemplary embodiment of thepresent invention;

FIG. 11 is a diagram of a system for generating printer data inaccordance with an exemplary embodiment of the present invention;

FIG. 12 is a diagram of specimen ink cartridge data and reference inkcartridge data in accordance with an exemplary embodiment of the presentinvention;

FIG. 13 is a diagram of mapped color data in accordance with anexemplary embodiment of the present invention; and

FIG. 14 is a diagram of an output look-up table for converting an inputred, green, blue space to an output red, green, blue space in a binaryto ASCII format.

DETAILED DESCRIPTION OF THE INVENTION

In the description that follows, like parts are marked throughout thespecification and drawings with the same reference numerals,respectively. The drawing figures might not be to scale and certaincomponents can be shown in generalized or schematic form and identifiedby commercial designations in the interest of clarity and conciseness.

FIG. 1 is a diagram of a system 100 for providing color characterizationand color control in accordance with an exemplary embodiment of thepresent invention. System 100 allows the color density generated for acorresponding dot activation for a specimen ink cartridge to becharacterized as part of the manufacturing process, such that the colorcharacterization data can be accessed when the cartridge is installedfor use, and further maps the specimen ink cartridge data to referenceink cartridge data, so as to generate printer control data thatactivates the correct dot percentage to generate a desired colordensity. System 100 can also be used with other suitable methods andsystems for generating color density, such as those that do not use dotactivation.

System 100 includes ink characterization system 102 and ink correctionsystem 104, each of which can be implemented in hardware, software, or asuitable combination of hardware and software, and which can be one ormore hardware systems, or one or more software systems operating on ageneral purpose processing platform. As used herein, a hardware systemcan include discrete semiconductor devices, an application-specificintegrated circuit, a field programmable gate array or other suitabledevices. A software system can include one or more objects, agents,threads, lines of code, subroutines, separate software applications,user-readable (source) code, machine-readable (object) code, two or morelines of code in two or more corresponding software applications,databases, or other suitable software architectures. In one exemplaryembodiment, a software system can include one or more lines of code in ageneral purpose software application, such as an operating system, andone or more lines of software in a specific purpose softwareapplication. A software system can be stored on hard drive 124, andretrieved by microprocessor 120 for operation in conjunction withnon-volatile memory device 122, user input device 118, printer 126, andmonitor 116. In this exemplary embodiment, a software system can includea printer driver, a monitor driver, a camera driver, or other suitablesoftware systems.

Ink characterization system 102 is coupled to ink correction system 104by communications medium 114. As used herein, the term “couple” and itscognate terms, such as “couples” and “coupled,” can include a physicalconnection (such as a copper conductor), a virtual connection (such asthrough randomly assigned memory locations of a data memory device), alogical connection (such as through logical gates of a semiconductingdevice), other suitable connections, or a suitable combination of suchconnections. In one exemplary embodiment, systems and components arecoupled to other systems and components through intervening systems andcomponents, such as through an operating system. Communications medium114 can be a local area network, a wide area network, a public networksuch as the Internet, the public switched telephone network, a wirelessnetwork, a fiber optic network, other suitable media, or a suitablecombination of such media.

Ink characterization system 102 provides ink characterization data toink correction system 104, such as when a user of ink correction system104 installs a new cartridge, by storing the ink characterization dataon the cartridge, or in other suitable manners. Ink characterizationsystem 102 includes camera calibration system 106 and color indexingsystem 108, each of which can be implemented in hardware, software, or asuitable combination of hardware and software, and which can be one ormore software systems operating on a general purpose processingplatform.

Camera calibration system 106 is used to calibrate a video camera sothat it can be used to provide color characterization data. In the past,colorimeters, spectrophotometers, or other specialized devices wererequired in order to obtain a precise estimate of the color of printedink. Camera calibration system 106 performs calibration of video camerashaving standard color pixel arrays with pixel filters so that high speedvideo cameras can be used to perform color characterization.

Color indexing system 108 receives the color characterization data for aspecimen ink cartridge and stores it in a relational database so it canbe retrieved at a later date. In addition, color indexing system 108stores reference ink cartridge color characterization data andassociated reference ink cartridge identification data with specimen inkcartridge data. In this manner, color indexing system 108 allowsreference ink cartridge data and specimen ink cartridge data to beprovided on demand, to be stored on a cartridge for transmission to theuser, or in other suitable manners.

Ink correction system 104 includes index interface system 110 andcartridge correction system 112, each of which can be implemented inhardware, software, or a suitable combination of hardware and software,and which can be one or more software systems operating on a generalpurpose processing platform. Index interface system 110 retrieves thespecimen ink cartridge color characterization data and the reference inkcartridge color characterization data, such as by contacting colorindexing system 108 over communications medium 114, by retrieving thedata from a data storage device of the ink cartridge, or in othersuitable manners. Index interface system 110 then provides the data tocartridge correction system 112, which generates color correctionfactors from the specimen ink cartridge color characterization data andthe reference ink cartridge color characterization data to be used forcontrolling printing. Cartridge correction system 112 can also receiveother suitable data from ink characterization system 102 for controllingthe quality of the color, such as empirical scale factors.

In operation, system 100 can be used as part of a manufacturing processto generate and distribute color characterization data for inkcartridges. Likewise, system 100 can be used to perform colorcharacterization of replacement ink for such cartridges, to addressnozzle failure, or in other suitable applications. Ink characterizationsystem 102 is used to develop reference ink cartridge colorcharacterization data and specimen ink cartridge color characterizationdata for specific cartridges.

Camera calibration system 106 is used to control the quality andrepeatability of image data measurements made by different cameras, soas to perform high speed color density measurement and to avoid the needfor expensive special-function devices, such as colorimeters andspectrophotometers.

Color indexing system 108 receives color characterization data forspecimen ink cartridges and reference ink cartridges and provides thedata on demand, with each cartridge, or in other suitable manners.

Index interface system 110 allows the user to obtain the cartridgecorrection data, either by querying color indexing system 108 overcommunications medium 114, by retrieving the reference ink cartridgedata and specimen ink cartridge data from a data storage device of thecartridge, or in other suitable manners.

Cartridge correction system 112 uses the reference ink cartridge dataand specimen ink cartridge data to determine correction factors forcontrolling printing. For example, the reference ink cartridge may beused to generate color density levels that are used to comply withstandard organizations so as to insure consistent and uniform color ofimages on printed media, projectors, video screens, or in other suitableapplications. Nevertheless, individual ink cartridges may producenon-standardized color density due to ink quality variations, nozzleparameter or functionality variations, or other factors.

System 100 allows ink cartridges to be characterized on a factory flooror in other suitable locations, such as a centralized testing facility,so that the characterization data can be provided to the users forcorrection of color, so as to ensure that the color of an original imageis accurately reproduced. In this manner, the color characterizationdata for each cartridge can be used to determine whether a correctionfactor is required, and to generate the correction factor.

FIG. 2 is a diagram of a system 200 for providing camera calibration inaccordance with an exemplary embodiment of the present invention. System200 includes camera calibration system 106 and filter standard system202, color density measurement system 204, camera filter correctionsystem 206, and camera data system 208, each of which can be implementedin hardware, software, or a suitable combination of hardware andsoftware, and which can be one or more software systems operating on ageneral purpose processing platform.

Filter standard system 202 stores and provides standard density data inaccordance with one or more standards. In one exemplary embodiment,filter standards for density measurement can be provided forred-green-blue filters in various bandwidth and shapes, such as StatusT, Status E, DIN, etc. In one exemplary embodiment, if filter standardsystem 202 is being implemented in North America, the Status T filterstandard would be used, as it has been adopted as the densitometrystandard for graphics arts in North America. The Status T filterstandard employs three wide-band filters. The measurements are a tripletof red density, green density, and blue density. The red density is mostsensitive to the cyan patches, green density for magenta patches, andblue density for yellow patches. As a result, only one reading needs tobe stored for each of the color patches, since the characterizationchart contains only cyan, magenta, and yellow patches in various dotactivations. Filter standard system 202 thus provides standardized datafor a sample, such as an expected density value for the sample.

Color density measurement system 204 performs color density measurementsof samples. In one exemplary embodiment, color density measurementsystem 204 is used to provide a camera that is being calibrated with oneor more sample colors for measurement, where each sample has a knowncolor density measured in accordance with one or more color standards.Color density measurement system 204 then receives the data generated bythe camera and generates a color density measurement. This color densitymeasurement can then be compared with filter standard system 202 data orother suitable data.

Camera filter correction system 206 is used to generate correctionfactors for a camera so that it can perform repeatable measurements withother calibrated cameras. In one exemplary embodiment, camera filtercorrection system 206 receives filter standard data from filter standardsystem 202 and color density measurement data from color densitymeasurement system 204 and determines whether there is a difference. Forexample, if a cyan sample is being measured and a filter standard system202 provides the value of 255 for the pixel brightness, and a camerabeing calibrating provides 248, then the difference can be due to adifference in the spectral power distribution of the light illuminationsource or the spectral response of the camera filter elements. Camerafilter correction system 206 generates a correction factor so that thecolors measured by the camera as corrected by the correction factormatched the colors indicated by filter standard system 202.

Camera data system 208 stores camera correction data from camera filtercorrection system 206 or other suitable sources and provides the data asneeded to allow the calibrated cameras to be used in suitable processes,such as manufacturing processes. In one exemplary embodiment, cameradata system 208 can be accessed over a communications medium when acamera is being installed for use, such as by receiving the cameraidentification number and providing the camera calibration data.Likewise, camera data system 208 can be used to store the calibrationdata with the camera, on a suitable storage media or in other suitablemanners. For example, camera data system 208 can prompt an operator toenter a camera identification number before allowing a manufacturingprocess to begin, and can then confirm whether the camera has beencalibrated within a specified calibration period or after apredetermined event, such as on a daily basis, in response to a changein lighting, or at other suitable times. If so, then the calibrationfactors can be supplied, otherwise an error message can be generatedrequesting the user to perform camera calibration or other suitableprocesses.

In operation, system 200 is used to calibrate a digital video camera foruse in color characterization. System 200 compensates for variations inthe spectral power distribution of the illumination source, the spectralresponsivity of the camera pixels and filters, or other variations thatmay create differences in colors measured with a camera as compared tothe color as measured in accordance with standards and special-functionequipment such as colorimeters or spectrophotometers. System 200 thusallows manufacturing processes such as calibration of test equipment,periodic replacement of test equipment, periodic checking of testequipment, or other suitable processes to be performed. Likewise, system200 allows high speed digital imaging cameras to be used in place ofcolorimeters or other equipment that provides accurate measurementcapabilities but which is more expensive or which takes longer tooperate and thus would not be feasible in the manufacturing environment.

FIG. 3 is diagram of a system 300 for performing color indexing inaccordance with an exemplary embodiment of the present invention. System300 includes color indexing system 108 and uniformity correction system302, edge detection system 304, patch size system 306, image rotationsystem 308, density calculation system 310, noise reduction system 312,cartridge data system 314, and reference ink cartridge system 316, eachof which can be implemented in hardware, software, or a suitablecombination of hardware and software, and which can be one or moresoftware systems operating on a general purpose processing platform.

Uniformity correction system 302 can correct non-uniformity due tolighting of a color sample. In one exemplary embodiment, the followingequations can be applied to perform this correction:G _(d)(x,y,)=dark field with lens cappedG _(w)(x,y,)=white field with the blank paper; andP _(p)(x,y)=[P(x,y)−G _(d)(x,y,)]/[G _(w)(x,y,)−G _(d)(x,y,)]where

P_(p)(x,y) is the corrected image pixel for a given image pixel P(x,y).

This correction factor thus compensates for changes in brightness sothat consistent measurements can be taken regardless of the illuminationof the sample.

Edge detection system 304 locates color calibration patches such thatcolor values can be calculated for each patch. In one exemplaryembodiment, edge detection system 304 locates the upper, lower, left,and right bounds and then the pixel locations of the four cornerslocated in the upper bound and the lower bound. In this exemplaryembodiment, the image is scanned from the top down on the center pixelcolumn until a vertical grade is detected (i.e., a substantialdifference between two adjacent vertical pixels). When the test colorpatch includes a row of red, then green, and then blue pixels, the upperbound can be located when there is a red vertical gradient is detected(red is the complimentary channel of cyan). Similarly, the lower boundcan be found with the scan line from the bottom up when a blue verticalgradient is detected (blue is the complimentary channel of yellow).Several columns of pixels can be averaged so as to obtain a bettersignal/noise ratio.

Edge detection system 304 can also be used to locate the left and rightbounds by scanning the image from left to right on the center row todetect a horizontal gradient (i.e., a substantial difference between twoneighboring horizontal pixels). When the test color patch includes afirst patch having 100% dot activation for indexing, and a last patchhaving 100% dot activation for color characterization, the left boundcan be found when a green horizontal gradient is detected (green is thecomplimentary color channel of magenta). A similar process can be usedscanning from right to left to detect the right bound. Several rows ofpixels can also be averaged so as to obtain a better signal/noise ratio.

Edge detection system 304 can also be used to locate the corner pixelsby testing the pixel values around the upper left corner in theneighborhood determined by the intersection of the upper bound and leftbound to determine the coordinates of the exact upper left corner pixel,and by repeating this process to determine the coordinates of the pixelsfor the rest of the corners.

Patch size system 306 calculates the patch size based on predeterminedpatch characteristics, such as patch numbers, patch sizes, and otherpatch criteria. For example, if twenty-one patches are used ranging fromzero to one hundred percent in five percent increments, then the patchsize system 306 can generate patch coordinate data based on thispredetermined patch criteria data. Likewise, patch size system 306 canprompt the user to enter the number of patches, can prompt the user toconfirm the identify patches and data, or can perform other suitableprocesses.

Image rotation system 308 determines whether image data defining a colortest patch needs to be rotated. For example, since the amount of angularcorrection is small in most cases, the amount of rotation can beapproximated by the number of rows of pixels between the cornercoordinates for the four patch corner coordinates. For example, if thetop two corners have coordinates of (X1,0) and (X2,−3), an angle ofrotation H) can be approximated as ΔY/ΔX, or −3/(X2−X1). Image rotationcan then be performed by the following manner. For each row, detect theleft bound as the origin, locate each pixel on the row to be rotated.X′=X cos Θ)+Y sin ΘY′=−X sin Θ+Y cos ΘThe second terms are zero if the first pixel of each row is the origin.Each rotated image point P(X′, Y′) can thus be determined.

Density calculation system 310 calculates the pixel image data densityof each patch. In one exemplary embodiment, the following equation canbe used:D=log10(P _(AVG)/255)where P_(AVG) is the average color pixel value of a given patch.Likewise, other suitable statistical data can also or alternatively becalculated.

Noise reduction system 312 can be used to improve the signal to noiseratio, such as by averaging the pixels of each patch. Furthermore, asthe image data values of the pixels along the border of each patch canbe degraded due to various factors, such as the modular transferfunction of the optical system of the camera, the resolution of theprinter, and the number of the elements of the CCD imager, a number ofbordering pixels can also be excluded in the calculation of the patchimage data density values. Noise reduction system 312 can also check thelinearity of the camera against Comission Internationale de l'Eclairage(International Commission on Illumination or CIE) XYZ tristimulus valueswith the twenty-four step gray wedge on the RI200008 Kodak Q60 Target(sRGB) target. The camera's RGB readings can be linearized with thefollowing equationR′=R*Y/Y _(n)where

-   R′ is the linearized red value-   R is the original red values-   Y is the corresponding tristimulus Y value, and-   Y_(n) is the Y value of the blank media    Similar equations can be used to linearize green and blue values.

Cartridge data system 314 receives specimen ink cartridge color densitycharacterization data, specimen ink cartridge identification data,specimen ink cartridge type data, and other suitable data and stores thedata in a relational database. In addition, cartridge data system 314provides the data upon demand, such as when specimen ink cartridgeidentification data is provided by a user when the specimen inkcartridge is being installed. Other suitable processes can also oralternatively be used, such as storing the specimen ink cartridge datain a data storage device of the specimen ink cartridge.

Reference ink cartridge system 316 receives reference ink cartridgecolor density characterization data, reference ink cartridge type data,and other suitable data and stores the data in a relational database. Inaddition, reference ink cartridge system 316 provides the data upondemand, such as when specimen ink cartridge identification data isprovided by a user when the specimen ink cartridge is being installed,and specimen ink cartridge type data is used to correlate the specimenink cartridge to a reference ink cartridge. Other suitable processes canalso or alternatively be used, such as storing the reference inkcartridge data in a data storage device of the specimen ink cartridge.

In operation, system 300 allows color density data to be generated foruse with reference ink cartridge color characterization data, specimenink cartridge color patch, or other suitable data, and allows thespecimen ink cartridge data and the reference ink cartridge data to beprovided for use in controlling the specimen ink cartridge color. System300 thus facilitates the generation of reference ink cartridge colorcharacterization data and specimen ink cartridge color characterizationdata for color characterization and control.

FIG. 4 is a diagram of a system 400 for index interfacing in accordancewith an exemplary embodiment of the present invention. System 400includes index interface system 110 and cartridge detection system 402,cartridge identification system 404, cartridge data interface system406, and reference cartridge system 408, each of which can beimplemented in hardware, software, or a suitable combination of hardwareand software, and which can be one or more software systems operating ona general purpose processing platform.

Cartridge detection system 402 generates cartridge replacement data. Inone exemplary embodiment, cartridge detection system 402 can detectwhether an ink cartridge is present in a carriage, and can generatequery data or other suitable data if it determines that the state of thecarriage has gone from occupied to unoccupied or has otherwise changedin a manner that indicates that the cartridge is being replaced. In oneexemplary embodiment, cartridge detection system 402 can generate aquery asking the user to indicate whether a new cartridge has beenprovided. Likewise, cartridge detection system 402 can automaticallydetect the cartridge, such as by reading a cartridge identifier from adata memory device of the cartridge or other suitable devices.

Cartridge identification system 404 works in conjunction with cartridgedetection system 402 to obtain cartridge identification data. Forexample, if cartridge detection system 402 requests the user to indicatewhether or not the cartridge has been exchanged, then cartridgeidentification system 404 can subsequently prompt the user to providethe cartridge identifier if the user indicates that the cartridge hasbeen changed. Likewise, cartridge identification system 404 can readcartridge data using optical imaging or by other suitable processes.

Cartridge data interface system 406 receives cartridge data forprocessing. In one exemplary embodiment, cartridge data interface system406 can initiate an Internet connection, using existing Internetconnection, initiate a telephone connection, or use other suitableprocesses to access a website, IRC site, or other suitable locations atwhich cartridge characterization data is stored for a cartridge.

Reference cartridge system 408 stores color characterization data for areference ink cartridge. In one exemplary embodiment, referencecartridge system 408 can receive reference ink cartridge data from amanufacturer or other suitable sources, can allow a user to create areference ink cartridge by using one or more calibrated cartridges, orcan perform other suitable functions.

In operation, system 400 allows a remote processor to access specimenink cartridge data, reference ink cartridge data, and other suitabledata for use in generating color characterization and control data.System 400 allows such processes to be performed automatically, withuser intervention, or in other suitable manners.

FIG. 5 is a diagram of a system 500 for controlling a color cartridge inaccordance with an exemplary embodiment of the present invention. System500 includes cartridge correction system 112 and compensation factorsystem 502, correction factor calculation system 504 and ink controlsystem 506, each of which can be implemented in hardware, software, or asuitable combination of hardware and software, and which can be one ormore software systems operating on a general purpose processingplatform.

Compensation factor system 502 provides a compensation factor for use indetermining a correction factor. In one exemplary embodiment, when acorrection factor is calculated, an empirical compensation factor canalso be applied where it has been determined that using the calculatedcompensation factor either over compensates or under compensates. Forexample, if a reference ink cartridge color density for a pre-determineddot activation is 100% and the specimen ink cartridge color density forthat dot activation is 90%, then the specimen ink cartridge dotactivation would need to be increased so as to provide more ink togenerate the 1.0 color density. In this example, it might be determinedthat the specimen ink cartridge generates the 1.0 color density with adot activation of 90. However, when 90 percent is used for the specimenink cartridge, the color density realized in operation might be 0.9.Compensation factor system 502 can be used to adjust the dot activationfrom 90 percent to a value higher than 90 percent, such as one that isempirically determined.

Correction factor calculation system 504 generates a correction factorfor use in correcting and controlling color. In one exemplaryembodiment, correction factor calculation system 504 receives a specimenink cartridge color density function and a reference ink cartridge colordensity function and maps the specimen ink cartridge to the referenceink cartridge. For example, if the reference ink cartridge color densityfor a dot activation is X and the specimen color density is Y, then acorrection factor of X-Y is required. However, if the specimen inkcartridge dot activation is corrected to provide the full X-Ycorrection, then it may be determined that the correctionovercompensates the amount of color, such that a correction factor ofless than X-Y is desirable, as described above. Thus, correction factorcalculation system 504 can calculate a theoretical correction factor, anactual correction factor using compensation factor system 502 or othersuitable correction factors.

Ink control system 506 receives the correction factor generated bycorrection factor calculation system 504 and generates printing controldata so as to generate accurate colors. In one exemplary embodiment, inkcontrol system 506 can receive color density curve coefficientsgenerated by curve fitting the specimen ink cartridge data on to thereference ink cartridge data, can generate a look-up table with 256 or4096 data points, or can use other suitable processes to generateprinting control data. For example, for a color density of D1, thereference ink cartridge data may indicate that a dot activation of N1needs to be generated, but the mapped specimen ink cartridge data mayindicate that a dot activation of N2 needs to be provided. Furthermore,after applying a correction factor, it may be determined that a dotactivation of N3 is actually required. Ink control system 506 receivesthe values of N1 and maps them to values of N2 or N3, as appropriate.

In operation, system 500 performs color correction for specimen inkcartridges. System 500 receives specimen ink cartridge data, referenceink cartridge data, compensation factor data, or other suitable data,and determines the percentage of dots to fire for a desired colordensity. System 500 thus can be used to insure that the colors generatedare representative of colors that would be generated by a standardizedprocess.

FIG. 6 is a flow chart of a method 600 for performing colorcharacterization and control in accordance with an exemplary embodimentof the present invention. The method 600 begins at 602 where a camera iscalibrated. In one exemplary embodiment, the camera can be calibrated byusing standardized color patches and determining whether the colordensities measured by the camera correspond to standardized colordensities. Correction factors can then be generated and used tocalibrate the camera. The method then proceeds to 604.

At 604 a test pattern is printed. In one exemplary embodiment, the testpattern can include a number patches ranging from a minimum dotactivation to a maximum dot activation as printed by a specimen inkcartridge, a reference ink cartridge, or other suitable data. The testpattern can include a predetermined size and number of patches. Themethod then proceeds to 606.

At 606, color correction factor data is determined. In one exemplaryembodiment, the color correction factor data can include densitymeasurements for the test pattern, such as to generate specimen inkcartridge data, reference ink cartridge data, or other suitable data.Likewise, additional color correction factor data can be generated wheresuitable, such as polynomial coefficients for a polynomial curvegenerated after mapping the specimen data to the reference ink cartridgedata, or other suitable color correction factor data. The method thenproceeds to 608.

At 608, the color correction factor data is stored, such as forsubsequent retrieval over the Internet or other suitable communicationsmedia, in a data storage device of a specimen ink cartridge, or othersuitable manners. The method then proceeds to 610.

At 610, the cartridges are shipped. Each cartridge is typically shippedto a different location, and that location is not known until thecartridge is installed for use. At that time, it is possible for a useror the system to query a server or other data storage systemautomatically so as to obtain color characterization data.

At 612, the cartridge is installed at a location. For example, the usermay remove an existing cartridge from a carriage, thus generating anindication that the cartridge has been removed, and can then replacethat cartridge with the new cartridge, which allows the new cartridge tobe detected. The method then proceeds to 614.

At 614, cartridge identification data is determined. The cartridgeidentification data is determined by querying a user, by reading datastored on data storage device, by optically scanning the data, or byother suitable methods. If the user is queried, the query can include afirst query when the cartridge is removed to determine whether the useris replacing the cartridge or temporarily removing the existingcartridge. A second query can then be generated based on the location ofthe identifying data. For example, if cartridge identification data ison a surface that can be read after the cartridge is installed, on abox, or otherwise obtainable, then the query can be generated after thenew cartridge is installed. Likewise, if the cartridge identificationdata is not accessible after installation, the cartridge identificationquery must be generated prior to installation of the cartridge. Thecartridge identification data can also or alternatively be opticallyscanned, read from a data storage device, or obtained in other suitablemanners. The method then proceeds to 616.

At 616, correction factor data is received. In one exemplary embodiment,correction factor data can be received from a centralized storagelocation, the factory, from a data storage device of the cartridge, orusing other suitable processes. The method then proceeds to 618.

At 618, printer control factors are calculated. In one exemplaryembodiment, the printer control factors can include one or more ink dotactivation data relationships that are used to generate standardizedcolor densities. For example, if it is determined that the ink dotactivation settings have to be increased or decreased in order togenerate a color density that would correspond to a standardized colordensity, the printer control data can include any correction factor. Inthis exemplary embodiment, one or more equation coefficients can becalculated that allow a standard printer dot activation value to beentered and that output a corrected printer dot activation for the inkcartridge, based on the color density data for that cartridge measuredat 606. Also or alternatively, a set of look-up table values can becalculated and stored, or other suitable processes can be used. Themethod then proceeds to 620.

At 620, the correction factors are applied to print data. For example,print data can include an array of pixel values, where each valuecorresponds to a printer dot activation. The correction factors can thenbe applied such as by entering the printer dot activation data into anequation to generate a new printer dot activation setting, by looking upthe corrected printer dot activation data using the input printer dotactivation data in a look-up table, or by other suitable processes. Inthis manner, the target color density can be replicated in a consistentmanner without regard to printer cartridge, or other variables.

In operation, method 600 allows cartridge color to be characterized andcontrolled so as to provide for consistent color replication ondifferent printers. Method 600 thus improves the quality of the colorgenerated by a printer, so as to ensure that images generated by suchprinters will have desired aesthetic qualities.

FIG. 7 is a flow chart of a method 700 for calibrating a camera inaccordance with an exemplary embodiment of the present invention. Method700 allows a standard digital or analog camera to be used to measurecolor sample data for characterizing color for a specimen ink cartridge,a reference ink cartridge, replacement ink, or other suitable cartridgesor ink.

Method 700 begins at 702 where color density is measured. In oneexemplary embodiment, color density can be measured by generating asample patch, and then measuring a pixel brightness for the illuminatedsample patch. For example, functions such as uniformity correction orother processes can be performed so as to insure that actual pixelbrightness is being measured and not apparent pixel brightness due tolighting variations. After the color density is measured at 702 themethod proceeds to 704.

At 704, the measured color density is compared with a known colordensity. For example, each sample patch can include data that identifiesthe color density of the sample patch based on standardized measurementtechniques. The measured color density is compared to the known colordensity to determine if there is a difference at 704 and the methodproceeds to 706.

At 706, calibration coefficients are determined. For example, apolynomial curve fitting procedure, such as a second order polynomial,can be implemented between the color densities measured by the cameraand the known values of the standardized color densities. The derivedpolynomial can be used to correct the color densities measured by thecamera to the known standard color densities to specified accuracy. Themethod then proceeds to 708.

At 708, the calibration coefficients are stored for subsequent use withthe calibrated camera. For example, the calibration coefficients can beused for all subsequent color density measurements, can be stored in acentralized location, can be stored with the camera, or can otherwise beprovided for use with the calibrated camera when it is used inconjunction with the manufacturing process. Likewise, the date ofcalibration, location at which calibration was performed, the identityof the user that performed the calibration, or other suitable data canalso be stored, such as to ensure that calibration is performed inaccordance with standardized requirements.

In operation, method 700 allows a standard digital imaging device to becalibrated, so as to allow such a device to be used in manufacturingprocesses for characterizing ink cartridge color density. Thecalibration can be repeated in response to changes in environmentalchanges, such as changes in illumination due to new or aging lightbulbs, camera changes such as camera drift or changes in camerasettings, temperature changes, or other changes that can effect themeasurement of color density. Method 700 thus allows such processes tobe performed without the need for colorimeters, spectrophotometers, orother specialized equipment that is generally more expensive and slowerthan digital imaging devices.

FIG. 8 is a flow chart of a method 800 for processing test image data ofa test target in accordance with an exemplary embodiment of the presentinvention. Method 800 begins at 802 where non-uniformity due to lightingis corrected. In one exemplary embodiment, a dark field reading and alight field reading can be taken and used to generate a correctionfactor to correct image data measurements, such as brightnessmeasurements, so as to provide a consistent measurement of such imagedata regardless of lighting variations. Other suitable processes canlikewise be used. The method then proceeds to 804.

At 804, the edges of the test target are detected. In one exemplaryembodiment, the edges can be detected by reading a column of one or morepixels line by line from the top, bottom and sides until a color isdetected, such as the edge color for the test specimen, a variation inbrightness, or other suitable edge data. The method then proceeds to806.

At 806, the test target is rotated if necessary. For example, the pixeldata values of the test target might not correspond to the coordinatelocation of the target image data corners and edges, which can bedetermined from the edge data determined at 804. If the amount of testtarget rotation is determined to exceed allowable bounds for subsequentimage data processing, the test target data can be rotated using asuitable process. The method then proceeds to 808 where patchcoordinates are calculated. In one exemplary embodiment, the patch sizecan be based on the known edge and corner coordinate data and the numberof patches in the X and Y dimensions of the test target. The method thenproceeds to 812 where noise reduction is performed, such as by takingthe average of all pixels in the patch excluding one or more edge rowsor columns of pixels to prevent data degradation due to various factors,such as the modular transfer function of the optical system of thecamera, the DPI of the printer, and the number of the elements of theCCD imager. The method then proceeds to 814.

At 814, linearity correction is performed, such as to check thelinearity of the test target data against CIE XYZ tristimulus valueswith the twenty-four step gray wedge on the Q60 Target. The method thenproceeds to 816, where specimen data is generated, such as by generatingcolor density data based on the pixel brightness data.

In operation, method 800 allows image data to generated forcharacterizing color for a specimen ink cartridge, for generatingreference ink cartridge data, or for other suitable purposes. The imagedata can include brightness data for a test patch, as measured by colorpixels. Method 800 allows the test patch data to be processed so as toreduce noise, variations due to image rotation, or the effects of otherfactors. Method 800 also reduces the amount of operator input that isrequired to process test patch data, so as to allow the processing oftest patch data to be automated.

FIG. 9 is a flow chart of a method 900 for generating printer controldata in accordance with an exemplary embodiment of the presentinvention. Method 900 begins at 902 where specimen data is matched toreference data. In one exemplary embodiment, the specimen data and thereference data can include a set of predetermined data points, such ascolor density measurements at dot percent activation. In this exemplaryembodiment, the specimen data can include measurements at predetermineddot activations that produce a corresponding set of first color densitydata, and the reference data can include a second corresponding set ofdot activations that produce a corresponding set of second color densitydata. If the first set of color density data is different from thesecond set of color density data, then the dot activation required bythe specimen ink cartridge to generate the desired set of color densitycan be determined. For example, if the specimen ink cartridge generatesless color density for a dot activation than the reference ink cartridgefor the same dot activation, then the dot activation for the specimenink cartridge can be increased to create the same density as thereference ink cartridge. Likewise, if the specimen ink cartridgegenerates more color density for a given dot activation than a referenceink cartridge, the dot activation can be decreased so as to allow thespecimen ink cartridge to generate the same color density as thereference ink cartridge. The required dot activation for the specimenink cartridge can thus be mapped to the reference ink cartridge so as tocontrol the color density generated by the specimen ink cartridge. Themethod then proceeds to 904.

At 904, a scale factor is applied where suitable. In one exemplaryembodiment, empirical measurements can be used to determine whether thecalculated correction factor results in the correct color density. Forexample, due to printer control variations or other factors, it may bedetermined that using the calculated color density correction overcompensates, under compensates, or otherwise provides incorrect colordensity results. If it is determined that a scale factor is required,the scale factor is applied at 904, such as to adjust the mapped dotactivation to an empirically determined correct dot activation. Themethod then proceeds to 906.

At 906, equation coefficients are generated. In one exemplaryembodiment, the data points can be curve fitted using fifth orderpolynomial curve fitting or other suitable processes to create anequation that identifies color density as a function of dot activation.The method then proceeds to 908 where this input look-up table equationis inverted to generate an output look-up table equation. For example,in the process described, an input look-up table is generated, whereasfor a printer, an output look-up table is required for generation ofspecified densities, so as to determine the necessary dot activation forgeneration of a determined density. This inversion is performed at 908.Likewise, a table can be used or generated with 256 data points, 4096data points, or other suitable numbers of data points, each printer datapixel data point can be generated as needed, or other suitable processescan be implemented.

FIG. 10 is a diagram 1000 of an exemplary pixel color density variationcorrection process in accordance with an exemplary embodiment of thepresent invention. Diagram 1000 includes dot activation data points1002, specimen dot activation data points 1004, and compensated specimendot activation data points 1006. In this exemplary embodiment, the colordensity is determined as a function of dot activation, such that in thefirst square, a first color density is generated for 100% dotactivation, a zero density is generated for 0% dot activation, withdifferent corresponding color densities being generated for dotactivation increasing in 5% increments until the color density for 100%dot activation is again generated at the far right-hand side. This testpatch structure can be used in one embodiment to improve test patch dataprocessing, such as to allow edges to be readily located, noisereduction to be implemented, or other processes to be performed.

Specimen dot activation data points 1004 show the effective dotactivation for a specimen ink cartridge printed with the same dotactivation as the reference cartridge. Thus, the color density realizedfor 5% dot activation for the specimen cartridge only resulted in thecolor density for the reference cartridge that would be realized with4.37% dot activation for the reference cartridge. A higher dotactivation is therefore required in order to generate the color densitythat corresponds to that generated by the reference cartridge for 5% dotactivation. The amount that is needed can be determined by interpolatingusing a mapping function between the data points of dot activation datapoints 1002 and specimen dot activation data points 1004.

Compensated specimen dot activation data points 1006 include acompensation factor of 25%, such that an equivalent dot activation of4.84% instead of 4.37% is used, which is an adjustment to 25% of thedifference of the dot activation between the reference dot activation of5% and the measured specimen ink cartridge dot activation of 4.37%.Thus, in accordance with the exemplary embodiment shown in diagram 1000,using specimen dot activation data points 1004 results in colordensities that are higher than required. The application ofempirically-determined compensated specimen dot activation data points1006 mapped to dot activation data points 1002 results in actual colordensities that better approximate the color densities realized with thereference ink cartridge dot activation data points.

FIG. 11 is a diagram of a system 1100 for generating printer data inaccordance with an exemplary embodiment of the present invention. System1100 implements a standardized process, such as an international colorconsortium (ICC) process. System 1100 includes Profile Connection Space1102 which can be based on an ICC model, and which can be used to feed3×3 matrix 1104. A 3-D look-up table 1106 receives the data from 3×3matrix 1104, and linearization and density compensation such as providedby system 100 is performed at 1108. The printer driver data is generatedat 1110, such as where the red-green-blue data values are converted tocyan-magenta-yellow or other suitable color sets.

FIG. 12 is a diagram 1100 of specimen ink cartridge data and referenceink cartridge data in accordance with an exemplary embodiment of thepresent invention. As shown in FIG. 12, the curves generated for thespecimen ink cartridges are for densities that are lower than the targetdensity for the reference ink cartridge. In order to generate thereference densities, it is necessary to map the specimen ink cartridgecurves onto the reference ink cartridge curves. For example, for thetop-most two color curves, a color density for 100% input dots ofapproximately 1.3 is generated for the specimen ink cartridge, while thereference ink cartridge generates a color density of approximately 1.4.Thus, in order to generate a color density of 1.3 with the specimen inkcartridge, it is necessary for the specimen ink cartridge to be printingwith 100% dot activation. Thus, a look-up table can be generated inwhich the specimen ink cartridge is driven at 100% of ink dot activationin order to generate a color density of 1.3, as opposed to driving thereference ink cartridge at approximately 90% dot activation to generatethe same color density. Other suitable mapping processes can also oralternatively be performed.

FIG. 13 is a diagram 1300 of mapped color data in accordance with anexemplary embodiment of the present invention. As shown, the mapped datacan be used for a specimen ink cartridge in order to determine thecorrect dot activations for generation of the color density levels ofthe referenced cartridge. As previously described though, a correctionfactor can also be used where suitable to provide the proper colordensity levels where it is empirically determined that the mapped valuesover- or under-compensate.

FIG. 14 is a diagram 1400 of an output look-up table for converting aninput red, green, blue space to an output red, green, blue space in abinary to ASCII format. The output look-up table includes a correctionfactor, and has further been inverted to convert the input data formatshown in diagram 1300 into an output data format useful for generatingprinter nozzle control data for a specimen ink cartridge based on theprinter nozzle control data for a reference ink cartridge.

In view of the above detailed description of the present invention andassociated drawings, other modifications and variations will now becomeapparent to those skilled in the art. It should also be apparent thatsuch other modifications and variations may be effected withoutdeparting from the spirit and scope of the present invention.

1. A method for controlling printer color comprising: receivingcartridge color density data and reference cartridge data; mapping thecartridge color density data to the reference cartridge data to generatemapped color density data; and using the mapped color density data tocontrol the printer color.
 2. The method of claim 1 wherein using themapped color density data to control the printer color comprisesdetermining one or more color density equation coefficients.
 3. Themethod of claim 1 wherein mapping the color density data to thereference cartridge data further comprises applying a correction factor.4. The method of claim 1 wherein mapping the color density data to thereference cartridge data further comprises: determining a cartridgecolor density data point that corresponds to a cartridge dot activationdata point; determining a reference color density data point thatcorresponds to the cartridge color density data point; determining areference dot activation data point that corresponds to the referencecolor density data point; and using the cartridge dot activation datapoint when the reference dot activation data point is selected.
 5. Themethod of claim 4 wherein a plurality of data points are used, andequation coefficients are determined from the cartridge dot activationdata points.
 6. The method of claim 1 wherein mapping the color densitydata to the reference cartridge data further comprises: determining acartridge color density data point that corresponds to a cartridge dotactivation data point; determining a reference color density data pointthat corresponds to the cartridge color density data point; determininga reference dot activation data point that corresponds to the referencecolor density data point; determining a difference between the cartridgedot activation data point and the reference dot activation data point;multiplying the difference by a scale factor to generate the correctionfactor; and using the reference dot activation data point adjusted bythe correction factor when the reference dot activation data point isselected.
 7. The method of claim 6 wherein a plurality of data pointsare used, and equation coefficients are determined from the adjustedreference dot activation data points.
 8. The method of claim 1 furthercomprising using an International Color Consortium standardized processto generate printer driver data from the mapped color density data.
 9. Asystem for controlling printer color comprising: an index interfacesystem receiving cartridge color density data and reference colordensity data; and a cartridge correction system mapping the cartridgecolor density data to the reference color density data to generate colorcorrection data.
 10. The system of claim 9 wherein the index interfacesystem further comprises a cartridge identification system receivingcartridge identification data and retrieving the cartridge color densitydata and the reference color density data in response to the cartridgeidentification data.
 11. The system of claim 9 wherein the indexinterface system further comprises a reference cartridge system storingthe cartridge color density data and the reference color density data.12. The system of claim 9 wherein the cartridge correction systemfurther comprises a correction factor calculation system determining acartridge dot activation data point that generates a cartridge colordensity that directly corresponds to a reference color density generatedin response to a reference dot activation data point.
 13. The system ofclaim 9 wherein the cartridge correction system further comprises acompensation factor system determining a cartridge dot activation datapoint that generates a cartridge color density that corresponds by ascale factor to a reference color density generated in response to areference dot activation data point.
 14. The system of claim 9 whereinthe cartridge correction system further comprises an ink control systemthat receives the color correction data and generates printer driverdata using an International Color Consortium standardized process.
 15. Asystem for controlling printer color comprising: an ink characterizationsystem generating cartridge color density data and reference colordensity data; and an index interface system receiving the cartridgecolor density data and the reference color density data and generatingprinter control data.
 16. The system of claim 15 further comprising acartridge correction system mapping the cartridge color density data tothe reference color density data to generate color correction data. 17.The system of claim 15 further comprising a compensation factor systemreceiving a compensation factor from the ink characterization systemthat is used to generate the printer control data.
 18. The system ofclaim 15 further comprising a cartridge data system storing thecartridge color data and providing the cartridge color data to the indexinterface system upon demand.
 19. The system of claim 15 furthercomprising a reference cartridge system storing the reference colordensity data and providing the reference color density data to the indexinterface system upon demand.
 20. The system of claim 18 wherein thereference cartridge system is accessed by the index interface systemover a communications link.
 21. A printer driver that facilitates theproviding of color-corrected images to a printer, the printer driverbeing adapted to: receive mapped color density data; and use the mappedcolor density data to control the printer.
 22. The printer driver ofclaim 21 further comprising a hard drive storing the printer driver. 23.The printer driver of claim 21 wherein the mapped color density isreceived over the Internet.
 24. The printer driver of claim 21 whereinthe mapped color density is received from a printer cartridge.
 25. Apersonal computer system that includes a microprocessor, a user inputdevice, a non-volatile memory device, a hard drive, a monitor and aprinter, the personal computer system comprising: a printer driverstored on the non-volatile memory device, the printer driver beingadapted to retrieve color correction data.
 26. The printer driver ofclaim 25 wherein the hard drive stores the printer driver.
 27. Theprinter driver of claim 25 wherein the microprocessor operates theprinter driver.
 28. The printer driver of claim 25 wherein the colorcorrection data is stored on a printer cartridge.
 29. A printercartridge comprising: a data storage device; wherein color correctiondata is stored on the data storage device and wherein the colorcorrection data includes reference color density data and specimen colordensity data.
 30. The printer cartridge of claim 29 wherein the colorcorrection data is configured to be extracted from the data storagedevice and stored on a hard drive.
 31. The printer cartridge of claim 29wherein the color correction data includes mapped color correction data.32. A printer comprising: a printer cartridge having a memory device;wherein the memory device stores color correction data and wherein thecolor correction data includes reference color density data and specimencolor density data.
 33. The printer of claim 32 wherein the colorcorrection data is retrieved from the memory device and stored on a harddrive.
 34. The printer of claim 32 wherein a microprocessor retrievesthe color correction data.
 35. The printer of claim 32 wherein the colorcorrection data is stored on a nonvolatile memory device.